Software-Entwicklung
Wir entwickeln Software hauptsächlich in C. Als Mikrocontroller setzen wir STM32, NXP LPC55 und von Infineon XMC und Aurix ein. Die Softwarearchitektur orientiert sich an dem ISO/OSI-Modell, sodass die Software modular und mit nachvollziehbaren Schnittstellen versehen wird.
Basis für unsere Softwareentwicklungen ist häufig ein von uns entwickelter Echtzeitbetriebssystemkern, der es ermöglicht, “harte Echtzeit“ im µs-Bereich zu garantieren. Wir setzen dabei auf ein Plattformkonzept, durch das wir die verschiedensten Controllerarchitekturen wie Cortex M0/M3/M4 sowie Infineon Aurix unterstützen. Innerhalb der Plattform bieten wir auch Schnittstellen für Feldbussysteme und darauf aufbauende Protokolle sowie Diagnose, Flashfunktionen und Fehlermanagement an.
In Verbindung mit IoT oder anderen kommunikationsintensiven Geräten setzen wir am Markt verfügbare Betriebssysteme ein, um eine optimale Integration der Schnittstellen und Funktionen zu gewährleisten.
Kommunikation
CANopen. J1939
RS232 / RS485
Ethernet
UDS/C (ISO 15765)
ODX (ISO 14229)
DoIP (ISO 13400)
Qualität, Wiederverwendbarkeit und Pflegbarkeit ist uns in der Softwareentwicklung wichtig. Wir arbeiten grundsätzlich nach einer Softwarerichtlinie, entweder einer vom Kunden vorgegebenen oder unserer eigenen. Zusätzlich setzen wir zur syntaktischen Überwachung Codeanalysetools ein. Auf Wunsch werden Modultests vorbereitet und durchgeführt.
Komplexe Regelstrukturen simulieren wir mit Matlab/Simulink auf Systemebene. Wir testen so den regelungstechnischen Entwurf im Vorfeld und können später im Verlauf der Entwicklung die Ergebnisse und Zwischenergebnisse besser bewerten.
Embedded Systeme und Mikrocontroller sind unsere Kernkompetenz. Häufig entwickeln wir Steuerungen mit funktionaler Sicherheit. Hier können wir auf viele Jahre Erfahrung mit den Normen EN13849, EN60335 und IEC61508 zurückgreifen.